module.exports = app => {
  const { STRING, INTEGER, DATE, ENUM, TEXT } = app.Sequelize;

  const Order = app.model.define('order', {
      id: {
        type: INTEGER(20),
        primaryKey: true,
        autoIncrement: true
      },
      no: {
        type: STRING(100),
        allowNull: false,
        defaultValue: '',
        comment: '订单号',
        unique: true
      },
      user_id: {
        type: INTEGER,
        allowNull: false,
        defaultValue: 0,
        comment: '用户id',
        references: {
          model: 'user',
          key: 'id'
        },
        onDelete: 'cascade',
        onUpdate: 'restrict', // 更新时操作
      },
      price:{
        type:INTEGER,
        allowNull: false,
        defaultValue: 0,
        comment: '价格'
      },
      status:{
        type:ENUM,
        values: ['pending', 'success', 'fail'],
        allowNull: false,
        defaultValue: 'pending',
        comment: '支付状态'
      },
      created_time: {
        type:DATE,
        get(){
           return app.formatTime(this.getDataValue('created_time'))
        }
      },
      updated_time: DATE,
    });

  // 关联关系
  Order.associate = function (models) {
      // 关联用户
      Order.belongsTo(app.model.User);
  }

  return Order;
};